@echo off
chcp 65001 > nul
title 图片定制工具 - 安装器

echo.
echo ===============================================
echo            🛠️  图片定制工具安装器
echo ===============================================
echo.

cd /d "%~dp0"

echo 📁 安装目录: %CD%
echo.

:: 检查Python
python --version > nul 2>&1
if errorlevel 1 (
    echo ❌ 错误: 未检测到Python
    echo.
    echo 📋 请按以下步骤安装Python:
    echo    1. 访问 https://www.python.org/downloads/
    echo    2. 下载Python 3.9或更高版本
    echo    3. 安装时勾选 "Add Python to PATH"
    echo    4. 重新运行此脚本
    echo.
    pause
    exit /b 1
)

echo ✅ Python版本:
python --version
echo.

:: 检查pip
pip --version > nul 2>&1
if errorlevel 1 (
    echo ❌ pip未安装，正在安装...
    python -m ensurepip --upgrade
    if errorlevel 1 (
        echo ❌ pip安装失败
        pause
        exit /b 1
    )
)

echo ✅ pip版本:
pip --version
echo.

:: 升级pip
echo 🔄 升级pip到最新版本...
python -m pip install --upgrade pip
echo.

:: 创建虚拟环境
if exist "venv" (
    echo ✅ 虚拟环境已存在
) else (
    echo 🔧 创建虚拟环境...
    python -m venv venv
    if errorlevel 1 (
        echo ❌ 虚拟环境创建失败
        pause
        exit /b 1
    )
    echo ✅ 虚拟环境创建成功
)

:: 激活虚拟环境
echo 🔄 激活虚拟环境...
call venv\Scripts\activate.bat
if errorlevel 1 (
    echo ❌ 虚拟环境激活失败
    pause
    exit /b 1
)

echo ✅ 虚拟环境已激活
echo.

:: 安装项目依赖
echo 📦 安装项目依赖...
echo    这可能需要几分钟时间，请耐心等待...
echo.

pip install -r requirements.txt --index-url https://pypi.org/simple/ --trusted-host pypi.org
if errorlevel 1 (
    echo ⚠️  官方源安装失败，尝试国内镜像...
    pip install -r requirements.txt -i https://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    if errorlevel 1 (
        echo ❌ 依赖安装失败
        echo.
        echo 🔧 可能的解决方案:
        echo    1. 检查网络连接
        echo    2. 手动安装: pip install flask pillow psd-tools
        echo    3. 使用管理员权限运行此脚本
        echo.
        pause
        exit /b 1
    )
)

echo ✅ 依赖安装完成
echo.

:: 验证关键组件
echo 🔍 验证关键组件...
python -c "import flask; print('✅ Flask:', flask.__version__)"
python -c "import PIL; print('✅ Pillow:', PIL.__version__)"
python -c "try: import psd_tools; print('✅ PSD文件处理支持'); except: print('⚠️  PSD处理支持未完全安装')"
python -c "try: import cv2; print('✅ OpenCV图像处理支持'); except: print('⚠️  OpenCV支持未完全安装')"

echo.

:: 初始化数据库
if exist "database.db" (
    echo ✅ 数据库文件已存在
) else (
    echo 🗄️  初始化数据库...
    python -c "from database import init_db; init_db()" 2>nul
    if errorlevel 1 (
        echo ⚠️  数据库初始化可能失败，首次启动时会自动创建
    ) else (
        echo ✅ 数据库初始化完成
    )
)

:: 创建必要目录
echo 📁 创建项目目录...
if not exist "uploads" (
    mkdir uploads
    echo ✅ 创建uploads目录
)
if not exist "exports" (
    mkdir exports  
    echo ✅ 创建exports目录
)
if not exist "static\images" (
    mkdir "static\images"
    echo ✅ 创建static\images目录
)

echo.
echo ===============================================
echo            ✅ 安装完成！
echo ===============================================
echo.
echo 🎉 图片定制工具安装成功！
echo.
echo 🚀 启动方式:
echo    1. 双击 "start.bat" - 完整启动（推荐）
echo    2. 双击 "快速启动.bat" - 快速启动
echo    3. 双击 "debug-start.bat" - 调试模式
echo.
echo 💡 首次使用:
echo    1. 启动服务器后访问 http://localhost:5000
echo    2. 在底板管理中上传PSD/TIF底板文件
echo    3. 在智能定位中上传JSON文件进行智能分析
echo    4. 批量上传图片并导出最终结果
echo.
echo 📖 更多帮助请查看 README.md
echo.

pause
